//#define  _CRT_SECURE_NO_WARNINGS
//#include <iostream>
//#include <vector>
//using namespace std;
//
//class Solution {
//public:
//    vector<vector<int>> ret;
//    vector<int> path;
//
//    void dfs(vector<int>& nums, int pos)
//    {
//        ret.push_back(path);
//
//        for (int i = pos; i < nums.size(); i++)
//        {
//            path.push_back(nums[i]);
//            dfs(nums, i + 1);
//            path.pop_back();
//        }
//    }
//    vector<vector<int>> subsets(vector<int>& nums) {
//        dfs(nums, 0);
//        return ret;
//    }
//};